package sy.model;

import java.beans.Transient;
import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonProperty;

@Entity
@Table(name = "app_complaint", catalog = "ssh")
public class AppComplaint implements java.io.Serializable{
	private Integer id;
	private String code;//报事工单号，自动生成
	private String equipmentCode;//报事设备编号
	private String imgUrl;//上传图片路径，保存多张，路径以逗号分隔开
	private WYAccount wyAccount;//物业端投诉人
	private String type;//异常类型
	private String urgency;//紧急程度
	private String inspectionPoint;//巡检定点
	private String remarks;//备注
	private Date createTime;//报事时间
	private String status;//状态(1:以处理,0:待处理)
	
	private WYAccount manageWYAccount;//安管主任（处理人）
	private Date manageTime;//处理时间
	private String manageRemarks;//安管主任处理备注
	private String manageImgUrl;//安管主任处理提交的现场照片	
	

	public AppComplaint() {
		super();
	}
	@Id
	@GeneratedValue
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	@Column(name = "code")
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	@Column(name = "equipmentCode")	
	public String getEquipmentCode() {
		return equipmentCode;
	}
	public void setEquipmentCode(String equipmentCode) {
		this.equipmentCode = equipmentCode;
	}
	@Column(name = "imgUrl")
	public String getImgUrl() {
		return imgUrl;
	}
	public void setImgUrl(String imgUrl) {
		this.imgUrl = imgUrl;
	}
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "wyAccount")
	public WYAccount getWyAccount() {
		return wyAccount;
	}
	public void setWyAccount(WYAccount wyAccount) {
		this.wyAccount = wyAccount;
	}
	@Column(name = "urgency")
	public String getUrgency() {
		return urgency;
	}
	public void setUrgency(String urgency) {
		this.urgency = urgency;
	}
	@Column(name = "inspectionPoint")
	public String getInspectionPoint() {
		return inspectionPoint;
	}
	public void setInspectionPoint(String inspectionPoint) {
		this.inspectionPoint = inspectionPoint;
	}
	@Column(name = "type")
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	@Column(name = "remarks")
	public String getRemarks() {
		return remarks;
	}
	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}
	@Column(name = "createTime")
	public Date getCreateTime() {
		return createTime;
	}
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	@Column(name = "status")
	public String getStatus() {
		return status;
	}
	public void setStatus(String status) {
		this.status = status;
	}
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "manageWYAccount")
	public WYAccount getManageWYAccount() {
		return manageWYAccount;
	}
	public void setManageWYAccount(WYAccount manageWYAccount) {
		this.manageWYAccount = manageWYAccount;
	}
	@Column(name = "manageTime")
	public Date getManageTime() {
		return manageTime;
	}
	public void setManageTime(Date manageTime) {
		this.manageTime = manageTime;
	}
	@Column(name = "manageRemarks")
	public String getManageRemarks() {
		return manageRemarks;
	}
	public void setManageRemarks(String manageRemarks) {
		this.manageRemarks = manageRemarks;
	}
	@Column(name = "manageImgUrl")
	public String getManageImgUrl() {
		return manageImgUrl;
	}
	public void setManageImgUrl(String manageImgUrl) {
		this.manageImgUrl = manageImgUrl;
	}
	
}
